/**
 * Main.java
 *
 * Projeto: SGA-LEDS
 *
 * Rodrigo Soares Maia IFES - Instituto Federal do Espírito Santo - Campus Serra
 */
import controleInterno.cci.CtrlInterno;
import controleAtividades.cdp.Atividade;
import controleInterno.cdp.Colaborador;
import controleInterno.cdp.Prioridade;
import controleInterno.cdp.Projeto;
import controleAtividades.cdp.RegistroAtividade;
import controleInterno.cdp.TipoAtividade;
import controleInterno.cdp.TipoProjeto;
import controleInterno.cdp.Usuario;
import controleAtividades.cgd.AtividadeDAOJPA;
import controleInterno.cgd.ColaboradorDAOJPA;
import controleAtividades.cgd.RegistroAtividadeDAOJPA;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.zkoss.zul.Intbox;
import utilitario.utilitarioExceptions.SgaLedsException;
import utilitario.utilitarioPessoa.cdp.Sexo;

public class Main
{
    public static void main(String[] args)
    {
        //Quando executada, cria um usuario de acordo com os dados abaixo:
        
        Colaborador c;
        Usuario u;
        Projeto p;
        Atividade a;
        Map listaC = new HashMap();
        Map listaU = new HashMap();
        ArrayList<Object> listaP = new ArrayList<>();
        ArrayList<Object> listaA = new ArrayList<>();
        CtrlInterno ctrl = CtrlInterno.getInstance();
        
        listaC.put("nome", "Rodrigo Maia");
        listaC.put("email", "rodrigo@rodrigo.com");
        listaC.put("telefone", "33218600");
        listaC.put("dataIngresso", Calendar.getInstance());
        listaC.put("tipo", "ALUNO");

        listaU.put("nome", "rodrigo@rodrigo.com");
        listaU.put("senha", "senha");
        listaU.put("privilegioAdm", true);
        listaU.put("privilegioGerente", true);

                
        c = ctrl.salvarColaborador(listaC, listaU);
        
        u = ctrl.obterUsuario(c);
        
        if (c != null && u != null)
        {
            System.out.println("E-mail: " + c.geteMail());
            System.out.println("Nome: " + c.getNome());
            System.out.println("Login: " + u.getNome());
            System.out.println("Senha: " + u.getSenha());
            System.out.println("Privilegio Adm: " + u.getPrivilegioAdm());
            System.out.println("Privilegio Ger. de Lab.: " + u.getPrivilegioGerLab());
        }
        else{
            System.out.println("Col ou Us == NULL :/");
        }
//        
//        listaP.add("Teste");
//        listaP.add(Calendar.getInstance());
//        listaP.add(Calendar.getInstance());
//        listaP.add(TipoProjeto.ADMINISTRATIVO);
//        listaP.add(Prioridade.ALTA);
//        listaP.add(c);
//        
//        List<Projeto> listaProjetos = ctrl.obterProjetos();
//        
//        p = listaProjetos.get(0);
//        
//        listaA.add("Atividade Teste");
//        listaA.add(Calendar.getInstance());
//        listaA.add(Calendar.getInstance());
//        listaA.add(0.0);
//        listaA.add(0.0);
//        listaA.add(null);
//        listaA.add(ctrl.obterColaborador(ctrl.login("login", "senha").getPessoa()));
//        listaA.add(p);
//        listaA.add(null);
//        
//        a = ctrl.salvarAtividade(listaA, null);
//        
//        if (a != null)
//        {
//            System.out.println("Nome: " + a.getDescricao());
//        }
//        else{
//            System.out.println("ATiv == NULL :/");
//        }
        
        //ArrayList<Projeto> listaProjetos = (ArrayList<Projeto>) ctrl.obterProjetos();
//        List<Atividade> listaAtividades = ctrl.obterAtividades();
//        List<Atividade> filhas;
//        
//        for (Atividade atividade : listaAtividades)
//        {
//            filhas = ctrl.obterFilhas(atividade);
//            
//            System.out.println("Atividade: " + atividade.getDescricao());
//            System.out.println("Filhas:");
//            
//            for (Atividade atividade1 : filhas)
//            {
//                System.out.println("\t" + atividade1.getDescricao());
//            }
//            
//            System.out.println();
//        }
        
//        Colaborador col = ctrl.obterColaborador(ctrl.login("login", "senha").getPessoa());
//        
//        if (col != null)
//        {
//            System.out.println(col.getTipo());
//        }
//        else{
//            System.out.println("naodeu!");
//        }
        
//        RegistroAtividadeDAOJPA dao = new RegistroAtividadeDAOJPA();
//        AtividadeDAOJPA daoA = new AtividadeDAOJPA();
//        List<Atividade> lista;
//        
//        try
//        {
//            lista = (List<Atividade>) daoA.obter(Atividade.class);
//            List<RegistroAtividade> listaR = (List<RegistroAtividade>) dao.obter(lista.get(2));
//            
//            
//        }
//        catch (SgaLedsException ex)
//        {
//            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
//        }
    }
}